/*
 * Copyright 2010 David de Mingo
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package org.shalma.internal.client.view.adapter;


public class PropertyAdapter  {

	// private Object object;
	//
	// // ///
	//
	// private PropertyAdapter(Adaptee adaptee) {
	// super(adaptee);
	// }
	//
	// // ///
	//
	// protected boolean hasObject() {
	// return adaptee.read() != null;
	// }
	//
	// protected Image getEmptyImage() {
	// return new Image(IconBundle.instance.adapter_bean());
	// }
	//
	// protected Widget getReader() {
	// return new BeanReader(adaptee.read());
	// }
	//
	// protected Widget getWriter() {
	//
	// return new BeanWriter();
	// }
	//
	// // ///
	//
	// private MetaClass getBean() {
	// String className = adaptee.getAdapterInfo().getData()[0];
	// return MetaClassRegistry.instance.getMetaClass(className);
	// }
	//
	// // ///
	//
	// public static abstract class BeanViewTmp extends Composite {
	//
	// private Object object;
	//
	// protected FlexTable table;
	//
	// // ///
	//
	// protected BeanViewTmp(Object object) {
	// this.object = object;
	//
	// table = new FlexTable();
	// initWidget(table);
	// }
	//
	// // ///
	//
	// public Object getObject() {
	// return object;
	// }
	//
	// // ///
	//
	// protected void addView(View view) {
	//
	// int row = table.getRowCount() + 1;
	//
	// table.setWidget(row, 0, view.getHeader());
	// table.setWidget(row, 1, (Widget) view);
	// }
	//
	// public void clear() {
	//
	// table.clear();
	// }
	// }
	//
	// private class BeanReader extends BeanViewTmp {
	//
	// private BeanReader(Object object) {
	// super(object);
	//
	// ViewManager instance = ViewManager.instance;
	// MetaClass bean = getBean();
	//
	// for (Iterator iter = bean.getAttributes().iterator(); iter
	// .hasNext();) {
	// Attribute attribute = (Attribute) iter.next();
	//
	//
	// if (table.getRowCount() == 0)
	// table.insertRow(0);
	// Window.alert("TODO: " + PropertyAdapter.class.getName());
	// // table.setWidget(0, table.getCellCount(0), new AttributeView(
	// // attribute, this));
	//
	// }
	// }
	// }
	//
	// private class BeanWriter extends BeanViewTmp implements
	// OperationViewListener {
	//
	// private BeanWriter() {
	// super(null);
	//
	// MetaClass bean = getBean();
	//
	// for (Iterator iter = bean.getRoutines().iterator(); iter.hasNext();) {
	// Operation operation = (Operation) iter.next();
	// // if (!operation.isPerClass())
	// // continue;
	//
	// OperationView operationView = new OperationView(operation, this);
	// operationView.addListener(this);
	// addView(operationView);
	// }
	// }
	//
	// // ///
	//
	// public void returned(Object object) {
	// adaptee.add(object);
	// read();
	// }
	// }
	//
	// // ///
	//
	// public static class BeanAdapterFactory implements AdapterFactory {
	//
	// public static final String ID = "shalma.bean";
	//
	// // ///
	//
	// public String getId() {
	// return ID;
	// }
	//
	// public Adapter make(Adaptee adaptee) {
	// return new PropertyAdapter(adaptee);
	// }
	//
	// public Class adapt() {
	// return Property.class;
	// }
	// }
}
